Corporations require an ever-increasing amount of data storage capacity in order to streamline operations by using highly centralized Intranet and Internet architectures. A typical large-scale storage system includes many diverse storage resources, including storage subsystems and storage networks. Further, it is common in many contemporary computer systems to provide administrative personnel with data services that allow data storage to be controlled and backup copies of stored data to be made where necessary. These data services can include data volume management in which one or more logical “volumes” are created from stored data so that the data in each volume can be manipulated as a unit. Capacity management must also be provided. Consequently, the costs of deploying and managing storage often increase faster than the actual cost of the storage.
In order to allow administrative personnel to manage the diverse resources a technique called “storage virtualization” is used. Storage virtualization allows all of the storage capacity physically spread throughout the enterprise to be treated as a single logical pool of storage. Virtual access to this storage pool is made available by software that masks all of the details of the individual storage devices, their locations, and the manner of accessing them. Thus, although the end user sees a simple interface and all storage looks like a single pool of local disk storage, the data may actually reside on different devices in different places. It may even be moved without user knowledge. Storage virtualization can also be used to control the required data services from a centralized location.
Storage virtualization is commonly provided by a storage virtualization engine (SVE) that masks the details of the individual storage devices and their actual locations by mapping logical storage addresses to physical storage addresses. The virtualization engine follows predefined rules concerning availability and performance levels and decides where a given piece of data will be stored. Depending on the implementation, a storage virtualization engine can be implemented by specialized hardware located between the host servers and the storage or it can be provided by logical volume managers that map physical storage associated with device logical units (LUNs) into logical disk groups and logical volumes. The host server applications or file systems can then mount the logical volume with no regard to the physical storage location or vendor type.
However, since there may be many logical volume managers and additional backup and control facilities, there still remains a requirement for centralized management software that can manage all of the diverse facilities controlled by a storage virtualization engine from a single location.